Список ссылок по теме:
Дата последнего изменения: 17.04.2025
Шаблоны компонента делятся на системные и пользовательские:
/local/templates/шаблон_сайта/
). При таком расположении шаблона при копировании шаблона средствами системы, они будут расположены по следующему пути: /local/templates/шаблон_сайта/components/namespace/название_компонента/название_шаблона
.Шаблоны компонента определяются по именам. Шаблон по умолчанию имеет имя .default. Если в настройках параметра компонента не указывается имя шаблона, вызывается тот, что по умолчанию. Остальные шаблоны могут называться произвольно.
Шаблоны компонента могут быть папками или файлами. Если шаблону не требуется перевод на другие языки, собственные стили и прочие ресурсы, то его можно расположить в файле. В противном случае шаблон следует располагать в папке.
Каждый шаблон компонента является неделимым целым. Если требуется изменить системный шаблон под конкретный сайт, то его нужно целиком скопировать в папку шаблона сайта и только потом править под потребности проекта.
Например, у компонента bitrix:main.site.selector есть системный шаблон dropdown, который лежит в подпапке templates папки компонента. Если его требуется изменить под конкретный сайт, то папку шаблона dropdown следует скопировать в папку /local/templates/шаблон_сайта/components/bitrix/main.site.selector/
и изменить по своему усмотрению.
При включении компонента на страницу сайта администратор настраивает, какой именно шаблон вывода будет использоваться в данном конкретном случае.
Используются следующие переменные:
$templateFile
– путь к шаблону относительно корня сайта, например /bitrix/components/bitrix/iblock.list/templates/.default/template.php
).$arResult
– массив результатов работы компонента.$arParams
– массив входящих параметров компонента, может использоваться для учета заданных параметров при выводе шаблона (например, отображении детальных изображений или ссылок).$arLangMessages
– массив языковых сообщений (для php шаблонов не устанавливается).$templateFolder
– путь к папке с шаблоном от DOCUMENT_ROOT (например /bitrix/components/bitrix/iblock.list/templates/.default
).$parentTemplateFolder
- путь относительно корня сайта к папке шаблона комплексного компонента, в составе которого подключается данный компонент (если компонент подключается самостоятельно, то эта переменная пуста).$component
– ссылка на текущий вызванный компонент (тип CBitrixComponent). $this
- ссылка на текущий шаблон (объект, описывающий шаблон, тип CBitrixComponentTemplate)$templateName
– имя шаблона (например: .dеfault)$componentPath
– путь к папке с компонентом от DOCUMENT_ROOT (напр. /bitrix/components/bitrix/iblock.list
)$templateData
– массив для записи, обратите внимание, таким образом можно передать данные из template.php в файл component_epilog.php, причем эти данные попадают в кеш, т.к. файл component_epilog.php исполняется на каждом хите.Кроме того внутри PHP шаблона объявлены глобальными переменные $APPLICATION
, $USER
, $DB
.
Папка шаблона простого компонента может содержать следующие подпапки и файлы:
/lang
, в которой расположены файлы языковых сообщений (переводов); $arResult
и массив параметров его вызова $arParams
. Таким образом, можно, например, изменить массив результатов работы компонента под конкретный шаблон.